<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <ul>
        <li>知否知否，应是等您好久1</li>
        <li>知否知否，应是等您好久2</li>
        <li>知否知否，应是等您好久3</li>
        <li>知否知否，应是等您好久4</li>
    </ul>

    <ol id='ol'>
        <li>生僻字</li>
        <li>生僻字</li>
        <li>生僻字</li>
        <li>生僻字</li>
    </ol>

    <script>
        // 根据标签名获取元素：使用getElementByTagName（）方法可以返回带有指定标签名的对象的集合。
        // 1.返回的是：获取过来元素对象的集合，以伪数组的形式存储的
        var lis = document.getElementsByTagName('li');
        console.log(lis);
        console.log(lis[0]); // 返回的是：<li>知否知否，应是等您好久1</li>
        // 2. 我们想要依次打印里面的元素对象的话可以采取遍历的方式
        for (var i = 0; i < lis.length; i++) {
            console.log(lis[i]);
        }
        /* 以上程序块的输出结果：
        <li>知否知否，应是等您好久1</li>
        <li>知否知否，应是等您好久2</li>
        <li>知否知否，应是等您好久3</li>
        <li>知否知否，应是等您好久4</li>
        */

        /* 注意：1. 因为得到的是一个对象的集合，所以我们想要操作里面的元素就需要遍历。
                 2. 得到元素对象是动态的
                 3. 如果页面中只有一个li 返回的还是伪数组
                 4. 如果页面中没有这个元素 返回的是空的伪数组的形式
        */

        // 还可以获取某个元素（父元素）内部所有指定标签的子元素（比如这里要获取 ol 里面的 li）
        // element.getElmentByTagName('标签名')
        // 注意父元素必须是单个对象（必须指明是哪一个元素对象）获取的时候不包括父元素自己
        var ol = document.getElementsByTagName('ol'); // [ol]（伪数组的形式）
        // console.log(ol.getElementsByTagName('li')); 会报错！
        console.log(ol[0].getElementsByTagName('li')); // ol[0]就指明了 第一个 ol

        var oll = document.getElementById('ol');
        console.log(oll.getElementsByTagName('li'));
    </script>
</body>

</html>